package com.zsy.service;

import com.zsy.pojo.PageResult;
import com.zsy.pojo.Student;
import com.zsy.pojo.StudentCountOption;
import com.zsy.pojo.StudentQueryParam;

import java.util.List;
import java.util.Map;

public interface StudentService {
    /**
     * 分页查询
     * @param studentQueryParam
     * @return
     */
    PageResult<Student> queryStudent(StudentQueryParam studentQueryParam);

    /**
     * 增加学生
     * @param student
     */
    void addStudent(Student student);

    /**
     * 根据id查询学生
     * @param id
     * @return
     */
    Student queryStudentById(Integer id);

    /**
     * 修改学生
     * @param student
     */
    void updateStudent(Student student);

    /**
     * 批量删除学生
     * @param ids
     */
    void deleteByIds(List<Integer> ids);

    /**
     *
     * @param id 学生id
     * @param score 学生违纪分数
     */
    void updateViolationStu(Integer id, int score);

    /**
     * 统计各个班级的学生人数
     */
    StudentCountOption getStudentCountData();

    /**
     * 统计各个学历的学生人数
     * @return
     */
    List<Map> getStudentDegreeData();
}
